package com.tangbao.mainContent.service.impl;

import com.tangbao.mainContent.dao.MaincontentDao;
import com.tangbao.mainContent.model.Maincontent;
import com.tangbao.mainContent.service.MaincontentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * 功能:提供内容相关方法
 * 作者: zhouxin
 * 日期: 2018/1/12
 */
@Service
public class MaincontentServiceImpl implements MaincontentService{
    @Autowired
    MaincontentDao maincontentDao;

    /**
     * 根据名称查询
     * @param name 内容名称
     * @param pageable 分页参数
     * @return
     */
    @Override
    public Page<Maincontent> findByName(String name, Pageable pageable) {
        Page<Maincontent> maincontentPage = maincontentDao.findByName(name,pageable);
        return maincontentPage;
    }


    /**
     * 根据id查询main对象
     * @param id
     * @return
     */
    @Override
    public Maincontent findById(String id) {
        Maincontent maincontent = maincontentDao.findById(id);
        return maincontent;
    }


    /**
     * 查询全部内容
     * @param pageable 分页参数
     * @return
     */
    @Override
    public Page<Maincontent> findAllMaincontent(Pageable pageable) {
        Page<Maincontent> maincontents = maincontentDao.findAll(pageable);
        return maincontents;
    }


    /**
     * 根据开始时间和结束时间查询内容
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param pageable
     * @return
     */
    @Override
    public Page<Maincontent> findByTime(Date startTime, Date endTime, Pageable pageable) {
        Page<Maincontent> maincontens = maincontentDao.findByTime(startTime, endTime, pageable);
        return maincontens;
    }


    /**
     * 保存或添加内容
     * @param maincontent
     * @return
     */
    @Override
    public Maincontent updataOrAddmaincontent(Maincontent maincontent) {
        Maincontent newMaincontent = maincontentDao.saveAndFlush(maincontent);
        return newMaincontent;
    }
}
